home *** CD-ROM | disk | FTP | other *** search
- /* Unit definitions */
- #define FSR_CTLUNIT (-1)
- #define FSR_UNITNONE (-1)
- #define MAXRESERVEDUNIT 15 /*200*/
-
- /* Generally, if you want to request ownership of a specific arbitrary unit,
- pick a number under MAXRESERVEDUNIT. The device will randomly hand out
- unused unit positions over MAXRESERVEDUNIT */
-
- struct FSRUnit {
- struct Node fsru_Node; /* fakesr private */
- ULONG fsru_Num;
- ULONG (*fsru_BeginIO)(void *IORequest);
- ULONG (*fsru_AbortIO)(void *IORequest);
- ULONG (*fsru_Open)(void *IORequest); /* called on unit OpenDevice */
- ULONG (*fsru_Close)(void *IORequest); /* called on unit CloseDevice */
- void *fsru_UserData[5];
- };
-
- /* for FSR_CTLUNIT access, you MUST use a struct IOStdReq */
- /* by convention you should use a struct IOExtSer for all
- other unit accesses, although it is not required, if the
- unit's owner supports other structures */
-
- /* extended commands for FSR_CTLUNIT */
- #define FSRCMD_ADDUNIT (CMD_NONSTD+1)
- /* for FSRCMD_ADDUNIT set Unit->fsru_Num equal to the desired unit number,
- or FSR_UNITNONE if you don't care. set io_Data to a pointer to your
- struct FSRUnit. */
-
-
- #define FSRCMD_REMUNIT (CMD_NONSTD+2)
- /* set io_Data to a pointer to the FSRUnit you want to remove */
-
- /* fakesr FSR_CTLUNIT DOES NOT support control commands sent
- from interrupt code. Don't try it.
- HOWEVER: Individual units may support such accesses */
-
- /* Errors */
- #define FSRCTLERR_NONUNIQUE 1 /* possible error return from FSR_CTLUNIT */
-